// 定义store
import { defineStore } from 'pinia'
import { ref } from 'vue'

/**
 * 第一个参数：名字，唯一性
 * 第二个参数：函数内部可以定义状态的所有内容
 * 返回值：返回一个对象，对象中有状态和修改状态的方法
 */
export const useTokenStore = defineStore('token', () => {
    // 1. 定义状态 state
    const token = ref('')

    // 2. 定义修改状态的方法（action同步）
    const setToken = (newToken) => {
      token.value = newToken
    }

    // 3. 移除token
    const removeToken = () => {
      token.value = ''
    }

    // 4. 以对象的方式返回状态和修改状态的方法，供组件使用
    return {
        token,
        setToken,
        removeToken
    }
},
// 开启pinia持久化
{
    persist: true    
})

